classDiagram
    学生 *-- 借书状态
    书籍 *-- 借书状态
    书籍 <|-- 书籍介绍
    class 学生 {
        -string 学生ID
        +string 学生姓名
        -bool 是否有借书证
        -optional~string~ 借书证ID
        -Date 借书证有效日期
        -int 最大可借书数量
        -List~Borrow~ 借书名单

        +bool 借书(Book)
        +bool 还书(Book)
        +List~Borrow~ 列出借书名单()
        +bool 检测是否过期()

        +注册()
        ~注销()
    }

    class 书籍介绍{
        -string ISBN码
        -string 书籍名称
        -string 作者
    }

    class 借书状态{
        -Student 借书学生
        -Book 所借书目
        -Date 还书日期
        +bool 是否超期()

        +借书()
        ~还书()
    }

    class 书籍 {
        -BookInfo 书籍介绍
        -Date 入库时间
        -bool 可借状态
        -optional<Borrow> 借书详情

        +bool 可借状态查询()
        +BookInfo 详细信息()

        +录入书籍()
        ~删除书籍()
    }

    class 管理员{
        -string 管理员ID
        -string 管理员姓名
        -string 管理员部门
        +Borrow 处理借书(Student 学生, Book 书籍)
        +bool 处理还书(Borrow 借书状态)
        +Book 新增书籍(BookInfo 书籍介绍)
        +bool 删除书籍(Book 书籍)

        +入职()
        ~离职()
    }